home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 701-725 / 708 / intuisup / intuisup42.lha / Intuisup / Editor / unnamed.c < prev    next >
C/C++ Source or Header  |  1992-06-22  |  6KB  |  243 lines

  1.         /* Project: unnamed */
  2.  
  3.     /* Includes */
  4.  
  5. #include <exec/types.h>
  6. #include <exec/lists.h>
  7. #include <intuition/intuition.h>
  8. #include <libraries/intuisup.h>
  9. #ifdef AZTEC_C
  10. #include <functions.h>
  11. #endif
  12.  
  13.     /* Defines and data for window */
  14.  
  15. #define RENDER_INFO_FLAGS  3
  16. #define OPEN_WINDOW_FLAGS  0
  17.  
  18. #define WINDOW_LEFT_EDGE   98
  19. #define WINDOW_TOP_EDGE    123
  20. #define WINDOW_WIDTH       524
  21. #define WINDOW_HEIGHT      132
  22.  
  23. STATIC struct NewWindow  test_new_window = {
  24.    WINDOW_LEFT_EDGE, WINDOW_TOP_EDGE, WINDOW_WIDTH, WINDOW_HEIGHT, 0, 1,
  25.    CLOSEWINDOW | GADGET_IDCMP_FLAGS_ALL, WINDOWCLOSE | WINDOWDRAG |
  26.    WINDOWDEPTH | SMART_REFRESH | NOCAREREFRESH | ACTIVATE, NULL, NULL,
  27.    (UBYTE *)"unnamed", NULL, NULL, 0, 0, 0, 0, WBENCHSCREEN
  28. };
  29.     /* Defines and data for borders */
  30.  
  31. #define TEST_BORDER_BORDER1   0
  32. #define TEST_BORDER_BORDER2   1
  33. #define TEST_BORDER_BORDER3   2
  34. #define TEST_BORDER_BORDER4   3
  35.  
  36. STATIC struct BorderData  test_border_data[] = {
  37.    {
  38.       4, 273, 33, 87, 25
  39.    }, {
  40.       2, 275, 106, 95, 21
  41.    }, {
  42.       1, 397, 112, 97, 15
  43.    }, {
  44.       3, 374, 6, 63, 14
  45.    }, {
  46.       INTUISUP_DATA_END
  47.    }
  48. };
  49.     /* Data for fonts */
  50.  
  51. STATIC struct TextAttr  test_text_attr[] = {
  52.    {
  53.       (STRPTR)"topaz.font", 8, FS_NORMAL, FPF_ROMFONT
  54.    }, {
  55.       (STRPTR)"topaz.font", 9, FS_NORMAL, FPF_ROMFONT
  56.    }
  57. };
  58.     /* Defines and data for texts */
  59.  
  60. #define TEST_TEXT_TEXT1   0
  61. #define TEST_TEXT_TEXT2   1
  62. #define TEST_TEXT_TEXT3   2
  63.  
  64. STATIC struct TextData  test_text_data[] = {
  65.    {
  66.       1, 6, 291, 40,
  67.       "Laber", &test_text_attr[1]
  68.    }, {
  69.       1, 65, 302, 92,
  70.       "Humbug", &test_text_attr[1]
  71.    }, {
  72.       1, 128, 40, 112,
  73.       "Blubber", &test_text_attr[0]
  74.    }, {
  75.       INTUISUP_DATA_END
  76.    }
  77. };
  78.     /* Defines and data for gadgets */
  79.  
  80. #define TEST_GADGET_GADGET1   0
  81. #define TEST_GADGET_GADGET2   1
  82. #define TEST_GADGET_GADGET3   2
  83. #define TEST_GADGET_GADGET4   3
  84. #define TEST_GADGET_GADGET5   4
  85. #define TEST_GADGET_GADGET6   5
  86. #define TEST_GADGET_GADGET7   6
  87. #define TEST_GADGET_GADGET8   7
  88. #define TEST_GADGET_GADGET9   8
  89. #define TEST_GADGET_GADGET10   9
  90. #define TEST_GADGET_GADGET11   10
  91.  
  92. IMPORT struct List  test_gadget1_list;
  93. STATIC struct Node  test_gadget1_node[] = {
  94.    {
  95.       &test_gadget1_node[1], (struct Node *)&test_gadget1_list.lh_Head, 0, 0,
  96.       "Entry 1"
  97.    }, {
  98.       &test_gadget1_node[2], &test_gadget1_node[0], 0, 0,
  99.       "Entry 2"
  100.    }, {
  101.       &test_gadget1_node[3], &test_gadget1_node[1], 0, 0,
  102.       "Entry 3"
  103.    }, {
  104.       &test_gadget1_node[4], &test_gadget1_node[2], 0, 0,
  105.       "Entry 4"
  106.    }, {
  107.       &test_gadget1_node[5], &test_gadget1_node[3], 0, 0,
  108.       "Entry 5"
  109.    }, {
  110.       &test_gadget1_node[6], &test_gadget1_node[4], 0, 0,
  111.       "Entry 6"
  112.    }, {
  113.       &test_gadget1_node[7], &test_gadget1_node[5], 0, 0,
  114.       "Entry 7"
  115.    }, {
  116.       &test_gadget1_node[8], &test_gadget1_node[6], 0, 0,
  117.       "Entry 8"
  118.    }, {
  119.       &test_gadget1_node[9], &test_gadget1_node[7], 0, 0,
  120.       "Entry 9"
  121.    }, {
  122.       &test_gadget1_node[10], &test_gadget1_node[8], 0, 0,
  123.       "Entry 10"
  124.    }, {
  125.       &test_gadget1_node[11], &test_gadget1_node[9], 0, 0,
  126.       "Entry 11"
  127.    }, {
  128.       (struct Node *)&test_gadget1_list.lh_Tail, &test_gadget1_node[10], 0, 0,
  129.       "Entry 12"
  130.    }
  131. };
  132. /* STATIC */ struct List  test_gadget1_list = {
  133.    &test_gadget1_node[0], NULL,
  134.    &test_gadget1_node[11], 0, 0
  135. };
  136. STATIC BYTE *test_gadget5_text_array[] = {
  137.    "MX1",
  138.    "MX2",
  139.    "MX3",
  140.    "MX4",
  141.    NULL
  142. };
  143. STATIC BYTE *test_gadget10_text_array[] = {
  144.    "Cycle",
  145.    "Test 1",
  146.    "Test 2",
  147.    "Test 3",
  148.    "Test 4",
  149.    "Test 5",
  150.    NULL
  151. };
  152. STATIC struct GadgetData  test_gadget_data[] = {
  153.    {
  154.       10, 1296, 13, 20, 107, 44,
  155.       "List_view", &test_text_attr[0],
  156.       { 0, 0, &test_gadget1_list }
  157.    }, {
  158.       11, 272, 144, 19, 100, 35,
  159.       "_Palette", &test_text_attr[1],
  160.       { 2, 0, (VOID *)2 }
  161.    }, {
  162.       1, 16, 266, 6, 91, 20,
  163.       "_Button", &test_text_attr[1],
  164.       { 0, 0, (VOID *)0 }
  165.    }, {
  166.       2, 1104, 424, 26, 21, 11,
  167.       "_Check", &test_text_attr[0],
  168.       { 1, 0, (VOID *)0 }
  169.    }, {
  170.       3, 144, 388, 57, 72, 47,
  171.       "_Radio", &test_text_attr[1],
  172.       { 1, 0, &test_gadget5_text_array[0] }
  173.    }, {
  174.       4, 1104, 205, 83, 76, 14,
  175.       "_String", &test_text_attr[0],
  176.       { 10, 0, "String" }
  177.    }, {
  178.       5, 144, 136, 62, 44, 14,
  179.       "_Integer", &test_text_attr[0],
  180.       { 10, 0, (VOID *)123 }
  181.    }, {
  182.       6, 528, 299, 64, 64, 11,
  183.       "Sli_der", &test_text_attr[0],
  184.       { 0, 10, (VOID *)5 }
  185.    }, {
  186.       7, 280, 473, 26, 18, 62,
  187.       "Scro_ller", &test_text_attr[0],
  188.       { 2, 10, (VOID *)5 }
  189.    }, {
  190.       8, 272, 20, 89, 97, 13,
  191.       "C_ycle", &test_text_attr[1],
  192.       { 0, 0, &test_gadget10_text_array[0] }
  193.    }, {
  194.       9, 144, 143, 109, 65, 12,
  195.       "C_ount", &test_text_attr[0],
  196.       { 10, 50, (VOID *)30 }
  197.    }, {
  198.       INTUISUP_DATA_END
  199.    }
  200. };
  201.  
  202. struct Library  *IntuiSupBase;
  203.  
  204.     /* Test program */
  205.  
  206.    LONG
  207. main(VOID)
  208. {
  209.    struct Window  *win;
  210.    APTR ri, gl;
  211.  
  212.    if (IntuiSupBase = OpenLibrary(IntuiSupName, IntuiSupVersion)) {
  213.       if (ri = IGetRenderInfo(NULL, RENDER_INFO_FLAGS)) {
  214.          if (win = IOpenWindow(ri, &test_new_window, OPEN_WINDOW_FLAGS)) {
  215.             if (gl = ICreateGadgets(ri, &test_gadget_data[0], 0, 0, NULL)) {
  216.                BOOL keepon = TRUE;
  217.  
  218.                IDisplayBorders(ri, win, &test_border_data[0], 0, 0);
  219.                IDisplayTexts(ri, win, &test_text_data[0], 0, 0, NULL);
  220.                IDisplayGadgets(win, gl);
  221.                do {
  222.                   struct IntuiMessage  *msg;
  223.  
  224.                   WaitPort(win->UserPort);
  225.                   while (msg = IGetMsg(win->UserPort)) {
  226.                      if (msg->Class == CLOSEWINDOW) {
  227.                         keepon = FALSE;
  228.                      }
  229.                      IReplyMsg(msg);
  230.                   }
  231.                } while (keepon == TRUE);
  232.                IRemoveGadgets(gl);
  233.                IFreeGadgets(gl);
  234.             }
  235.             ICloseWindow(win, FALSE);
  236.          }
  237.          IFreeRenderInfo(ri);
  238.       }
  239.       CloseLibrary(IntuiSupBase);
  240.    }
  241.    return(0L);
  242. }
  243.